package day06;

//----方法的演式
public class MethodDemo {
    public static void main(String[] args) {
        /*
        say();
        say();
        System.out.println("今年没有奥特曼了，奥特曼累死了");
        age();
        System.out.println("我有自在极意功，你算个嘚嘚");
        sy();
         */

        /*
        sayHi("路飞");
        sayHi("拉美");
        sayHi("索隆");
        sayHi("山治");
        sayHi("乌索普");
        sayHi("基平");
        sayHi("弗拉奇");
        sayHi("乔巴");
        sayHi("骷髅头");
         */

        //sayHello("阿芬", 888);

        // double a = getNum();
        //System.out.println(a);
/*
        int a1=5,b=6;
        int num=num(a1,b);
        System.out.println(num);
        int a2=(int)(Math.random()*20);
        int a3=(int)(Math.random()*20);
        int a4=num(a2,a3);
        System.out.println(a4);
 */
        //使用有参无返回值
        /*
        int[] a=testArray();
        System.out.println("输出长度："+a.length);
        System.out.println("输出a数组的第一个数："+a[0]);
        System.out.println("-------------------");
        int[] b=testArray();
        System.out.println("输出b数组的最后一个数"+b[b.length-1]);
        //遍历数组b
        for(int i=0;i<b.length;i++){
            System.out.print(b[i]+" ");
        }
        */
        sayHello1("路飞",50);
        sayHello1("白胡子",101);
        int[] a=testArray1(900000,9);
        System.out.println("输出数组长度"+a.length);
        System.out.println("遍历数组：");
        for(int i=0;i<a.length;i++){
            System.out.print(a[i]+" ");
        }
        System.out.println();
        System.out.println("输出数组的最后一位数："+a[a.length-1]);

        aMethod();

    }
    public static void aMethod(){
        System.out.println("11111");
        bMethod();//方法里调方法
        System.out.println("33333");
    }
    public static void bMethod(){
        System.out.println("222222");
    }
    //有参有无回值
    public static void sayHello1(String name, int age){
        if(age>100){
            return;//结束方法
        }
        System.out.println("大家好我叫：" + name + "，今年" + age + "岁了");

    }
    //有参有返回值
    public static int[] testArray1(int max,int len){
        int[] arr=new int[len];
        for(int i=0;i<arr.length;i++){
            arr[i]=(int)(Math.random()*(max+1));
        }
        return arr;

    }
    //有参无返回值
    public static int[] testArray(){
        int arr[]=new int[10];
        for(int i=0;i<arr.length;i++){
            arr[i]=(int)(Math.random()*100);
        }
        return arr;
    }

    //有参有返回值
    public static int num(int a, int b) {
        int num = a + b;
        return num;
    }

    /*无参有返回执*/
    public static double getNum() {
        //在有返回值得方法中，必须通过return来返回数据
        //return; //编译错误，return后必须跟一个数据
        //return "abc"; //编译错误return后数据的类型必须与返回值类型匹配
        return 88.88;//1)结束方法的执行          2)返回结果给调用方
    }

    /*有参无返回值*/
    public static void sayHello(String name, int age) {
        System.out.println("大家好我叫：" + name + "，今年" + age + "岁了");
    }
    /*有参无返回值*/
    public static void sayHi(String name) {
        System.out.println("大家好我叫：" + name + "，是要成为海贼王的男的");
    }

    /*无参无返还值*/
    public static void say() {
        System.out.println("大家好我叫奥特曼，今年打到怪兽50头");
    }
    /*无参无返还值*/
    public static void age() {
        System.out.println("我是超级赛亚人，我可以变身超1，超2，超3，还可以超神");
    }
    /*无参无返还值*/
    public static void sy() {
        System.out.println("你他娘的真是个天才");
    }
}
